//switch语句
#include <stdio.h>
int main()
{
	int day,n=1,m=1;
	scanf("%d",&day);
	switch(day)//其中switch语句的条件判断一定得是整形吗，答案是是的！
//必须为整形，当然也可以是字符，因为字符在内存中的存储方式也是以整形存储的
//switch语句的判断条件只能为整形常量或者是整形常量表达式，注意，必须为常量！整形！
{
	case 1://那case语句呢，！同理，必须整形常量
		printf("Monday\n");
	case 2:
		printf("Tuesday\n");
	case 3:
		printf("Wendsday");break;
//是的，相信你运行之后会发现，输入1，但是连case2都会打印出来，这是为什么呢
//因为case后面的数字1234567只决定了switch语句的入口在哪里，却没有控制它的出口
//这时候，我们就要认识break语句了，break的作用就是终止循环或者分支
//即完成某一case的程序后就结束switch语句
	case 4:
		printf("Thursday");break;
//一定要每次执行case语句都要用 break吗，不一定，我们可以利用switch语句的特点进行以下操作
	case 5:
	case 51:
	case 52:
		printf("Friday");break;
//只要是输入五开头的双位数(省略部分数)都可以打印 "星期五"
//当没有break语句时，switch会一路往下执行直到结束
	case 6:
		printf("Saturday");break;
	case 7:
		printf("Sunday");break;
//switch可以嵌套吗？当然可以
	case 8:
		switch(n)
		{
			case 1:n++,m++;
			case 2:m++;
			case 3:n++;break;//代码直到这里遇到break才停下，n经过两次++，m也经过两次++，即两个都等于三
			case 4:n++;break;//内嵌套的break只能控制当前分支，外面的case要记得加上 break
		}break;//这里的 break 是外分支的switch语句的
	default:
		printf("error,please input 1 to 7\n");break;
//当以上情况都不符合的时候，就会写 default语句，提示用户输入有误
}
	printf("n = %d n = %d",n,m);//猜猜 n 和 m 分别是多少？
	//答案就是 n 为三，m为三
	return 0;
}